﻿using BCCommon;
using BCEntity.Common.Payment.PaymentCallbackRecord;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace ATSimData.PaymentCallbackRecord
{
    /// <summary>
    /// 支付回调记录数据处理接口
    /// </summary>
    public interface IPaymentCallbackRecordData
    {
        /// <summary>
        /// 添加支付回调记录
        /// </summary>
        /// <param name="entity">支付回调记录实体</param>
        /// <returns></returns>
        long Add(PaymentCallbackRecordEntity entity);
        /// <summary>
        /// 更新支付回调记录状态
        /// </summary>
        /// <param name="paymentCallbackRecordId">支付回调记录Id</param>
        /// <returns></returns>
        bool UpdateStatus(long paymentCallbackRecordId);
        /// <summary>
        /// 更新备注内容
        /// </summary>
        /// <param name="paymentCallbackRecordId">支付回调记录Id</param>
        /// <param name="RemakeContent">备注内容</param>
        /// <returns></returns>
        bool UpdateRemakeContent(long paymentCallbackRecordId,string remakeContent);
        /// <summary>
        /// 获取支付回调记录集合
        /// </summary>
        /// <param name="index">起始页码</param>
        /// <param name="size">页面大小</param>
        /// <returns></returns>
        Task<(IEnumerable<PaymentCallbackRecordEntity>, int)> GetPaymentCallbackRecords(int pageIndex, int pageSize);
    }
}
